It is sometimes necessary in data transmission systems to transmit data from a plurality of data sources, or channels, from one location to another. In such situations, data from the channels is often combined, or multiplexed, at a head end station into a single data stream. The multiplexed data stream is then transmitted over a transmission link, such as a wire, fiber optic or radio link, to a back end station, where the channels of data from the multiplexed data stream are then separated, or demultiplexed, and supplied to the intended recipients.
For example, a plurality of video signals from respective sources, which may be television network feeds, television stations, or other video sources, may be transmitted over a satellite link for broadcast to respective television receivers in consumers' homes. An exemplary satellite link includes a digital transmission path capable of transmitting 24 megabits per second (Mbps). In order to maximize efficiency and utilization of such a link, it is necessary for several video signals to share the link. For example, it may be desired to share the above satellite transmission link among at least six video signal channels.
One known method for performing the transmission of such channels is to use variable bit rate (VBR) encoders to encode the respective video signals from the channels, and then multiplex the resulting encoded video signals. A VBR encoder produces successive frames of digitally encoded video which have different numbers of bits, depending upon the spatial and temporal complexity of the image represented by the video signal. More spatially complex scenes and/or scenes with motion require more bits to encode them than spatially simple scenes with little motion.
It is assumed that, statistically, the average combined bit rate from all the VBR encoders will be less than the maximum bit rate of the transmission link, even though at any given time a single channel encoder may provide a large number of bits in a burst for transmission. For this reason, such apparatus is termed a statistical multiplexer. However, there is a finite probability that the instantaneous combined bit rate from all the channels will exceed the maximum bit rate of the transmission link, resulting in loss of data at the back end station. In some embodiments, buffers are added for either the respective channels or the multiplexed data stream. However, there still exists a finite probability that those buffers will overflow, again resulting in loss of data at the back end station.
Another known method for performing the multiplexing function, which attempts to solve some of the problems of the VBR encoders, is to use constant bit rate (CBR) encoders for each channel. In such a system, the video signal from each channel is supplied to a CBR encoder. A CBR encoder produces a digitally encoded bit stream, representing the video signal supplied to it, at a predetermined constant bit rate. To produce a constant bit rate signal, a CBR encoder continually modifies the number of quantizing levels into which the video signal is encoded. Using fewer quantizing levels requires fewer bits to represent those levels, and the overall number of bits required to represent the video signal is reduced. Conversely, using more quantizing levels requires more bits to represent those levels, and the overall number of bits required to represent the image is increased.
The appropriate number of quantizing levels depends upon the complexity of the frame currently being encoded. A CBR encoder encodes an image having lower spatial and temporal complexity with an increased number of quantizing levels to produce the predetermined bit rate. Conversely, to encode an image having higher spatial and/or temporal complexity in the allocated number of bits, the number of quantizing levels is reduced.
However, varying the quantization levels in an encoded signal representing an image effects a corresponding change in the quality of the image reproduced from the encoded signal. Using fewer quantization levels results in a lower quality reproduced image than using more quantization levels. Thus, in a CBR encoder, video signals representing spatially and/or temporally more complex images are encoded in such a manner that the quality of the reproduced image is lower than that of less complex images.
Because CBR encoders produce a constant bit rate, however, controlling the multiplexing of video signals from a plurality of such encoders is simplified. Each encoder is a priori allocated a bit rate representing its quota of the total available bit rate of the transmission link. One known allocation method allocates equal portions of the total bit rate of the transmission link to each encoder. However, video signals representing different program types inherently have differing complexities. For example, a video channel transmitting a basketball game has a much higher complexity than one transmitting a panel discussion. Thus, the quality of the image reproduced from the encoded video signal representing the basketball game will be lower (probably substantially lower) than that of the panel discussion.
Another known allocation method, which attempts to solve this problem, allocates different bit rates to each CBR encoder based on the expected image complexity of the signal to be encoded. Thus, the channel transmitting a basketball game would be allocated a larger proportion of the total bit rate of the transmission link than the channel transmitting the panel discussion. Such an allocation method can result in the quality of the images reproduced from the encoded signals representing both the basketball game and the panel discussion being more nearly equal.
Yet another known allocation method allocates the proportion of the total bit rate of the transmission link to channels based on payment by the provider of the signal. The more the provider pays for the transmission of the channel, the greater the proportion of the total bit rate of the transmission link allocated to that channel, and the better the quality of the image reproduced from the encoded signal through that channel.